<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
include_once ('bd/ModeloBD.php');

class ModeloAlquiler extends ModeloBD {

    private $alqcodsx;
    private $vehicodsx;
    private $usucodsx;
    private $sucursalini;
    private $sucursalfin;
    private $alqfechaini;
    private $alqfechafin;

    public function __construct($alqcodsx = "", $vehicodsx = "", $usucodsx = "", $sucursalini = "", $sucursalfin = "", $alqfechaini = "", $alqfechafin = "") {
        $this->_oBaseDatos = CBaseDatos::get_instancia();
        $this->_oBaseDatos->conectar();
        $this->_sTabla = "alquiler";
        $this->alqcodsx = $alqcodsx;
        $this->vehicodsx = $vehicodsx;
        $this->usucodsx = $usucodsx;
        $this->sucursalini = $sucursalini;
        $this->sucursalfin = $sucursalfin;
        $this->alqfechaini = $alqfechaini;
        $this->alqfechafin = $alqfechafin;
    }

    public function listaAlquileres() {
        $arAlquiler = null;
        $tabla2 = "vehiculo";
        $tabla3 = "usuario";
        $tabla4 = "sucursal";
        $sSQL = "
           SELECT a.alqcodsx, a.alqfechaini, a.alqfechafin, b.vehiplaca, b.vehimarca, b.vehimodelo, d.sucurnombre AS sucursalini, e.sucurnombre AS sucursalfin, c.usudi, c.usunombre, c.usuapellido
                FROM $this->_sTabla a, $tabla2 b, $tabla3 c ,$tabla4 d,$tabla4 e
                WHERE a.vehicodsx = b.vehicodsx
                AND a.usucodsx = c.usucodsx
                AND a.sucursalini = d.sucurcodsx
                AND a.sucursalfin = e.sucurcodsx
                ORDER BY alqcodsx DESC ";
        $arAlquiler = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arAlquiler;
    }

    public function getAlquilerById($alqcodsx) {
        $arAlquiler = null;
        $tabla2 = "vehiculo";
        $tabla3 = "usuario";
        $tabla4 = "sucursal";
        $sSQL = "
           SELECT a.alqcodsx, a.alqfechaini, a.alqfechafin, b.vehiplaca, b.vehimarca, b.vehimodelo, d.sucurnombre AS sucursalini, e.sucurnombre AS sucursalfin, c.usudi, c.usunombre, c.usuapellido,b.vehicodsx
                FROM $this->_sTabla a, $tabla2 b, $tabla3 c ,$tabla4 d,$tabla4 e
                WHERE a.vehicodsx = b.vehicodsx
                AND a.usucodsx = c.usucodsx
                AND a.sucursalini = d.sucurcodsx
                AND a.sucursalfin = e.sucurcodsx and a.alqcodsx='$alqcodsx'
                ORDER BY alqcodsx DESC ";
        $arAlquiler = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arAlquiler;
    }

    public function getAlquileresEntre($alqfechaini, $alqfechafin) {
        $arAlquiler = null;
        $tabla2 = "vehiculo";
        $tabla3 = "usuario";
        $tabla4 = "sucursal";
        $sSQL = "
           SELECT a.alqcodsx, a.alqfechaini, a.alqfechafin, b.vehiplaca, b.vehimarca, b.vehimodelo, d.sucurnombre AS sucursalini, e.sucurnombre AS sucursalfin, c.usudi, c.usunombre, c.usuapellido,b.vehicodsx
                FROM $this->_sTabla a, $tabla2 b, $tabla3 c ,$tabla4 d,$tabla4 e
                WHERE a.vehicodsx = b.vehicodsx
                AND a.usucodsx = c.usucodsx
                AND a.sucursalini = d.sucurcodsx
                AND a.sucursalfin = e.sucurcodsx  and
                a.alqfechaini BETWEEN  '$alqfechaini 00:00:00' AND  '$alqfechafin 00:00:00'
                ORDER BY alqcodsx DESC ";
        $arAlquiler = $this->query_object($sSQL);
//        var_dump($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arAlquiler;
    }

    public function getTopUsuario() {
        $sSQL = "
               SELECT count( a.usucodsx ) as cantidad, usudi, usunombre, usuapellido, usucorreo
               FROM alquiler a, usuario b where a.usucodsx=b.usucodsx
              GROUP BY a.usucodsx";
        $arAlquiler = $this->query_object($sSQL);
//        var_dump($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arAlquiler;
    }

    public function getTopTipoVehiculo() {
        $sSQL = "
         SELECT count( c.tipovehicodsx ) as cantidad, c.tipovehinombre FROM alquiler a, vehiculo b, tipovehiculo c
              WHERE a.vehicodsx = b.vehicodsx AND b.tipovehicodsx = c.tipovehicodsx GROUP BY c.tipovehicodsx";
        $arAlquiler = $this->query_object($sSQL);
//        var_dump($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arAlquiler;
    }
    public function getTopSucursalesFin() {
        $sSQL = "
         SELECT count( a.sucursalfin ) AS cantidad, sucurnombre, c.ciunombre
              FROM alquiler a, sucursal b, ciudad c where a.sucursalfin=b.sucurcodsx  and b.ciucodsx=c.ciucodsx GROUP BY a.sucursalfin";
        $arAlquiler = $this->query_object($sSQL);
//        var_dump($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arAlquiler;
    }
    public function getTopSucursalesIni() {
        $sSQL = "
         SELECT count( a.sucursalini)  as cantidad, sucurnombre, c.ciunombre
             FROM alquiler a, sucursal b, ciudad c where a.sucursalini=b.sucurcodsx and b.ciucodsx=c.ciucodsx GROUP BY a.sucursalini";
        $arAlquiler = $this->query_object($sSQL);
//        var_dump($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arAlquiler;
    }

    public function crearAlquiler() {
        $vehicodsx = $this->vehicodsx;
        $usucodsx = $this->usucodsx;
        $sucursalini = $this->sucursalini;
        $alqfechaini = $this->alqfechaini;

        $sSQL = "INSERT INTO $this->_sTabla
               (vehicodsx,  usucodsx, sucursalini,sucursalfin,alqfechaini,alqfechafin)
               VALUES('$vehicodsx','$usucodsx','$sucursalini','1','$alqfechaini', null)";
        $this->execute($sSQL);
    }

    public function cerrarAlquiler() {
        $sucursalfin = $this->sucursalfin;
        $alqfechafin = $this->alqfechafin;
        $alqcodsx = $this->alqcodsx;

        $sSQL = "UPDATE $this->_sTabla
               SET
               sucursalfin = '$sucursalfin',
               alqfechafin = '$alqfechafin'
               WHERE alqcodsx = $alqcodsx";

        $this->execute($sSQL);
    }

}

?>
